//形式转换：试将高维数组[1, 2, [3, [4, 5], 6], 7, [8], 9]变为图中所示的对象

/* 
[1, 2, 3, [5, 8]]

{
  children: [
    { value: 1 },
    { value: 2 },
    { value: 3 },
    {
      children: [
        { value: 5 },
        { value: 8 },
      ]
    }
  ]
} 
*/

//测试数组
let arr = [1, 2, [3, [4, 5], 6], 7, [8], 9]

function convert(arr) {
  let result = []
  arr.forEach(item => {
    if (Array.isArray(item)) {
      result.push({
        children: convert(item)
      })
    } else {
      result.push({ value: item })
    }
  })
  return result
}

function convert2(item) {
  if (typeof item === 'number') {
    return {
      value: item
    }
  } else if (Array.isArray(item)) {
    return {
      children: item.map(elm => convert2(elm))
    }
  }
}

console.log(convert2(arr))
